首页
学习
活动
专区
圈层
工具
发布
    • 综合排序
    • 最热优先
    • 最新优先
    时间不限
  • 来自专栏Reck Zhang

    Java 17 - NIO

    实例 import java.io.IOException; import java.io.OutputStream; import java.net.InetSocketAddress; import java.net.ServerSocket; import java.net.Socket; import java.nio.ByteBuffer; import java.nio.channels.SelectionKey ; import java.nio.channels.Selector; import java.nio.channels.ServerSocketChannel; import java.nio.channels.SocketChannel ; import java.util.Iterator; import java.util.Set; class NIOServer { private static String readDataFromSocketChannel

    49720发布于 2021-08-11
  • 来自专栏Albert陈凯

    2019-08-17 awesome-java,JAVA开发的武器库

    https://github.com/akullpp/awesome-java Awesome Java [图片上传失败... Modern Java - A Guide to Java 8 - Popular Java 8 guide. Java EE - Official Java EE Twitter account. Java Magazine - Official Java Magazine account. Java - Official Java Twitter account. Javin Paul - Well-known Java blogger. Baeldung Dzone Google Java Style InfoQ Java Algorithms and Clients Java, SQL, and jOOQ Java.net Javalobby

    2.4K30发布于 2019-11-15
  • 来自专栏Java 学习

    Java17 字符流

    所以 Java 提供字符流类,以字符为单位读写数据。 1.1 字符输入流 java.io.Reader抽象类是表示用于读取字符流的所有类的超类,可以读取字符信息到内存中。 关闭此流并释放与此流相关联的任何系统资源 int read() 从输入流读取一个字符 int read(char[] cbuf) 从输入流中读取一些字符,并将它们存储到字符数组 cbuf 中 1.1.2 FileReader 类 java.io.FileReader System.out.println(new String(cbuf,0,len)); } // 关闭资源 fr.close(); } } 1.2 字符输出流 java.io.Writer len) 写入字符串的某一部分,off字符串的开始索引,len写的字符个数 void flush() 刷新该流的缓冲 void close() 先刷新流再关闭流 1.2.2 FileWriter 类 java.io.FileWriter close fw.write('关'); // 写出第1个字符 fw.close(); fw.write('闭'); // 继续写出第2个字符,【报错】java.io.IOException

    84640发布于 2020-09-28
  • 来自专栏云计算linux

    JAVA17- Java基础语法

    day02 - Java基础语法 课程目标 1. 【理解】数据类型转换 2. 【掌握】五种运算符类型 3. 【掌握】数据录入 4. 运算符 什么是运算符 运算符 对常量或者变量进行操作的符号,注意符号都是特定,不能改变量 表达式 用运算符把常量或者变量连接起来符合java语法的式子就可以称为表达式。 10; double num2 = 20.0; double num3 = num1 + num2; // 使用double接收,因为num1会自动提升为double类型 正是由于上述原因,所以在程序开发中我们很少使用 */ 注意:通过此练习深刻理解自增和自减的规律,但实际开发中强烈建议不要写这样的代码!小心挨打! 使数据达到灵活性 使用步骤 导包 Scanner 类在java.util包下,所以需要将该类导入。导包的语句需要定义在类的上面。

    20310编辑于 2024-12-13
  • 来自专栏张师傅的博客

    Java 17 升级指南

    Java 8 是旧时代的 Java 6,还不快升级,。最近在做 Java8 到 Java17 的迁移工作,前期做了一些准备,过程中的一些信息记录如下(持续更新。。。 [ERROR] Supported versions: 1.6, 1.8 Kotlin 在 1.6.0 版本开始支持 Java17 的字节码,低于 1.6.0 的编译会直接报错 废弃依赖分析 可以用 jdeps --jdk-internals --multi-release 17 --class-path . encloud-api.jar 来做项目的依赖分析 这样你就可以知道哪些库需要做升级了。 Xloggc:<filepath> -Xlog:gc:file=<filepath> 除此之外,大量的 GC 的参数被移除,比如常用的参数 -XX:+PrintTenuringDistribution,Java17 中,PSYoungGen::resize_spaces代码如下: 在 Java17 中,这部分日志打印被 gc+ergo 的标签日志取代: 还有一个分代 GC 中非常有用的参数 -XX:+PrintTenuringDistribution

    1.6K60编辑于 2022-12-05
  • 来自专栏Python爱好者

    Java基础笔记17

    17.01_集合框架(HashSet存储字符串并遍历) A:Set集合概述及特点 通过API查看即可 B:案例演示 HashSet存储字符串并遍历 HashSet<String> hs = new HashSet<>(); boolean b1 = hs.add("a"); boolean b2 = hs.add("a"); //当存储不成功的时候,返回false System.out.println(b1); System.out.println(b2);

    88760发布于 2018-06-21
  • 来自专栏Java帮帮-微信公众号-技术文章全总结

    JavaWeb17-案例之ajax(Java真正的全栈开发

    params); } 二.ajax 1. ajax介绍 AJAX即“Asynchronous Javascript And XML”(异步JavaScript和XML),是指一种创建交互式网页应用的网页开发技术 JSON采用完全独立于语言的文本格式,但是也使用了类似于C语言家族的习惯(包括C, C++, C#, Java, JavaScript, Perl, Python等)。 u 数组:数组在js中是中括号“[]”括起来的内容,数据结构为 ["java","javascript","vb",...] 7. jsonlib插件介绍 jsonlib介绍 Json-lib 是一个 Java 类库(官网:http://json-lib.sourceforge.net/)可以实现如下功能: •转换 javabeans , maps, collections, java arrays 和 XML 成为 json 格式数据 •转换 json 格式数据成为 javabeans 对象 Json-lib 需要的 jar 包 •

    1.6K100发布于 2018-03-19
  • 来自专栏编程小白狼

    JDK17前后写法对比:现代Java开发的进化之路

    从繁琐的类型转换到简洁的模式匹配,从冗长的实体类声明到一行完成的记录类,Java 17带来的不仅是语法上的变化,更是开发思维方式的升级。 一、JDK 17:新特性的集大成者 自2021年9月发布以来,JDK 17作为最新的长期支持版本,已经成为现代Java开发的重要基准。 升级准备与兼容性检查 Java 17保持了良好的向后兼容性,但升级时仍需注意: 使用javac -Xlint:deprecation检查废弃API的使用 使用jdeps --jdk-internals分析内部 利用IDE支持:现代IDE(IntelliJ IDEA、Eclipse)能自动识别新语法并提供转换建议 结语 从JDK 8到JDK 17Java语言的演进体现了从复杂到简洁、从灵活到安全可控的设计哲学转变 Java的未来(如JDK 21的虚拟线程)将继续这一趋势,使Java在高并发、云原生时代保持竞争力。 升级到JDK 17不仅是技术栈的更新,更是开发体验和代码质量的全面提升。

    37810编辑于 2025-12-27
  • 来自专栏程序猿DD

    Java 9 - 17 特性解读:Java 9

    Java 17Java 最重要的一个LTS版本之一,但是直接从Java 8 过渡到Java 17跨度太大了,势必有些困难。 所以胖哥抽时间梳理了一下从Java 9到Java 17的一些常用API的变动。今天先来看看Java 9 都有什么东西。 Java 9 Java 9 最大的变化就是引入了一个JShell和模块化,日常并没有用太多,所以今天不花时间在这些功能上面。 Stream扩展 Stream API 是Java 8中引入的最重要的特性之一。在Java 9中Stream进一步得到了加强。 总结 其实Java 9 还有一些底层的优化,不过对于普通开发者来说了解这些就够用了。上面几个特性,比较常用的就是静态不变集合、try-with-resources优化。

    54430编辑于 2023-04-04
  • 来自专栏程序猿DD

    Java 9 - 17 特性解读:Java 11

    Java 11是自Java 8以来的又一个LTS版本,是目前全球使用最多的LTS版本之一。今天我们接着在Java 9 到 Java 17系列文章中来认识针对普通开发者的Java 11。 字符串API增强 在Java 11中,针对String的操作进一步得到加强。避免我们在很常见的场景中引入额外的、复杂的API。 var可以用于修饰Lambda局部变量 在Java 10中引入的var来进行类型推断。 ❝HttpClient 的包名由 jdk.incubator.http 改为 java.net.http。 在年初的Java生态调查数据显示Java 11的用户数量大幅增长,成为了主流版本选择之一。

    50340编辑于 2023-04-04
  • 来自专栏微信公号【Java技术江湖】

    Java基础17Java IO流总结

    本文介绍了Java IO流的基本概念,使用方法,以及使用的注意事项等。帮助你更好地理解和使用Java的IO流。 文章首发于我的个人博客: https://h2pl.github.io/2018/05/04/javase17 更多关于Java后端学习的内容请到我的CSDN博客上查看: https://blog.csdn.net 可以浏览Java Readers and Writers获取更多关于字符流输入输出的信息。 InputStream java.io.InputStream类是所有Java IO输入流的基类。 如果你正在开发一个从流中读取数据的组件,请尝试用InputStream替代任何它的子类(比如FileInputStream)进行开发。这么做能够让你的代码兼容任何类型而非某种确定类型的输入流。 但是,如果你需要在线程之间传递字节数据,Java IO的管道是一个不错的选择。 Java IO:网络 Java中网络的内容或多或少的超出了Java IO的范畴。

    1.2K00发布于 2019-04-07
  • 来自专栏一只程序原

    Java9-Java17新特性

    例如Java 16 是2021年3月发布的,而 Java 17是2021年9月发布。 Java LTS 版本 升级优先选择 LTS 版本,LTS表示长期支持版本。 接下来,我们就一起来学习从Java9~Java17各版本中具有代表性的一些新特性吧。 Java 17 新特性 Java 17作为新的LTS长期维护版本,我们来看看都更新了什么(不包含预览特性,包括switch第二次增强,哈哈,果然还是强度不够,都连续加强两个版本了) 密封类型 密封类型可以说是 Java 17正式推出的又一重磅类型,它在Java 15首次提出并测试了两个版本。 在Java 17之前想要实现就很麻烦。

    1.1K20编辑于 2023-11-17
  • 来自专栏程序猿DD

    大多数 Java 开发者计划在明年内过渡到 Java 17

    JRebel 发布了最新的 2022 Java 开发人员生产力报告。 探讨了 2022 年 Java 开发人员调查的结果,并详细说明了 Java 开发的最大趋势如何影响从技术选择到部署和提交时间的方方面面。 调查结果指出,大多数 Java 开发人员正计划迁移到该语言的最新长期支持 (LTS) 版本;其中,62% 的开发人员计划在未来 12 个月内进行切换。 当比较不同规模的公司升级到 Java 17 的可能性时,JRebel 发现员工少于 100 人的公司比大型公司更有可能进行升级。他们推测,这是由于升级大型企业 Java 应用的复杂性和成本所致。 来源:OSCHINA ,原文连接:www.oschina.net/news/184962/java-developers-transition-to-java-17-2022 ------ 我们创建了一个高质量的技术交流群

    48730编辑于 2022-04-06
  • 来自专栏码农小胖哥的码农生涯

    用不用Java 17普通开发者说了可不算

    17。 他发任他发,我用Java 8?技术迭代的推动从来不是普通开发者引领的,而是走的精英路线,社区大佬、知名项目、开源布道师的话语权更强大,从某种程度上来说他们可以“绑架”开发者。 Spring 5.x的特性和优势“迫使”开发者不得不认清形势。到2018年的时候已经有79%的新项目转向Java 8 (数据来自snyk调研)。 如果从Java 8来看,Java 17汇聚了7年Java社区的成果,如果一个Java开发停留在7年前的JDK环境中,必然会影响技术竞争力。 当Java 9到Java 17的新语法糖带来的高效率和Java 17带来的高性能得到充分体现,坚守旧版本的声音将会越来越小。我个人感觉到2023年Java 17才会进入快速增长期。

    35820编辑于 2022-02-11
  • 来自专栏程序猿DD

    Java 9 - 17 特性解读:Java 10

    在上一篇我们对Java 9的特性进行了一些回顾,今天接着来看看Java 10带来了什么特性。 之所以需要把Java 8 到Java 17的特性归纳一遍,因为Java社区对Java 17的重视程度前所未有。话不多说,让我们走进Java 10。 Java 10 从Java 10 开始,Java的迭代周期缩短为半年,半年发布一个版本。 ❝另一件要注意的事情是var 并不是Java中的关键字,这确保了Java的向后兼容性。另外使用var没有运行时开销,也不会使 Java 成为动态语言。var标记的变量的类型仍然是在编译时推断出来。 其它增强特性 Java 10的性能也明显加强了,支持G1并行垃圾收集。另外引入了即时编译技术(JIT),该技术可以加速java程序的运行速度。

    42720编辑于 2023-04-04
  • 来自专栏学习/读书笔记

    Java入门(17)-- 多线程

    17.1 线程简介 Java中将并发完成的每一件事情称为线程。Java语言提供了并发机制,我们可以在程序中执行多个线程,每一个线程完成一个功能,并与其他线程并发执行,这种机制被称为多线程。 主方法线程启动由Java虚拟机负责,程序员负责启动自己的线程。 调用start()方法启动线程 package core; import java.awt.Container; import java.net.URL; import javax.swing.*; public : package core; import javax.swing.JFrame; import java.awt.*; import java.util.*; public class SleepMethodTest 17.6.1 线程安全 实际开发中,使用多线程程序的情况很多,如银行排号系统、火车站售票系统等,这种多线程的程序通常会发生问题。

    72720编辑于 2022-04-07
  • 来自专栏java学习java

    java面试强基(17

    comparable 接口实际上是出自java.lang包 它有一个 compareTo(Object obj)方法用来排序 comparator接口实际上是出自 java.util 包它有一个compare (Object obj1, Object obj2)方法用来排序 package java.util; public interface Comparator<T> { int compare (T o1, T o2); boolean equals(Object obj); } package java.lang; import java.util.*; public interface

    29340编辑于 2023-10-15
  • 来自专栏码农小胖哥的码农生涯

    Java 9 到 Java 17Java 13

    Java 13在2019年9月发布,这个版本引入的正式可用特性几乎没有,是我认为最无聊的版本之一。所以我们跳过Java 13直接来看Java 14吧。 Switch表达式 我觉得switch表达式在日常中开发被使用的太少了,不是因为这个关键字和if比起来太“难”,而是因为它很冗长,而且这种视觉上的噪声容易掩盖那些难以调试的错误,特别是那些break语句 at cn.felord.SomeClass.main(SomeClass.java:17) 现在日志会说明空指针的具体来源: Exception in thread "main" java.lang.NullPointerException : Cannot store to int array because "arr" is null at cn.felord.SomeClass.main(SomeClass.java:17) 我们可以明确地知道 参考资料 [1]Java 14发行日志: https://openjdk.java.net/projects/jdk/14/

    47930编辑于 2021-12-08
  • 来自专栏码农小胖哥的码农生涯

    Java 9 到 Java 17Java 12

    上一篇说完了Java11,本篇接着说一下Java12.Java 12 对开发者有用的特性并不是特别多,不过实用性还是有的 字符串增强 Java 12 进一步对字符串操作进行增强,增加了两个方法。 来实验一下: String text = " Hello \n Java12"; System.out.println("缩进前"); System.out.println String txt = "hello "; // hello hello String s = txt.transform(str -> str.repeat(2)); ❝Java 基于内容的文件匹配 Java 12 在Files工具类中增加了一个新的静态方法Files.mismatch(Path,Path),用来找两个文件内容(byte)不一样的地方,返回两个文件内容中第一个不匹配字节的位置 其它 除了上面以外,Java12还有一些预览属性和JVM增强功能,并没有太多的亮点。

    46940发布于 2021-11-02
  • 来自专栏终码一生

    Java 17Java 11:为什么我强烈建议你升级到 Java 17

    如果您当前正在使用 Java 11,那么可能是时候考虑迁移到 Java 17 以利用其新功能了。 在本文中,我们将讨论 Java 17 中的新增功能,尽管这里讨论的一些功能已在 Java 11 到 Java 17 的后续版本中引入。 1为什么我们应该从 Java 11 迁移? Spring 6: Spring 的最新版本,Spring 6 将需要 Java 17 才能工作,并且由于有许多与它们一起工作的库,它们也将迁移到 Java 17。 适用于 Java 17 的免费 Oracle JDK: Java 17 是根据新的 NFTC(Oracle 免费条款和条件)许可证发布的。 并行垃圾收集器(Java 17 中提供)比 G1 垃圾收集器(Java 11 中使用)快 16.39%。 从 Java 11 迁移到 Java 17 可以提供许多好处,包括新功能和改进的性能。

    4.7K30编辑于 2023-11-03
领券